МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
Кафедра ЕОМ
ЗВІТ
з лабораторної роботи №3
з дисципліни: «Цифрова обробка сигналів»
на тему: «Визначення і дослідження спектральних характеристик сигналів»
Мета роботи: Визначити спектр заданого сигналу засобами системи SCILAB. Дослідити властивості сигналу, провівши фільтрацію в частотній області.
Завдання:
Дослідити спектральні характеристики даного сигналу
19
Аналітичне представлення сигналу:
Виходячи із заданого графіка, сигнал описується фінітною функцією, тривалістю 6с. Перші 2с. амплітуда стала 6од., наступні 2с. змінюється і становить 3од. і останні 2с. - 6од.
Отже, аналітичний опис заданого графіком сигналу буде:
Текст програми:
clc
clear
close
T=6;m=8;N=2^m;
p=N/4;k1=N/2-p; k2=N/2+p;
dt=T/N;
t1=-3:dt:-1-dt;
t2=-1:dt:1-dt;
t3=1:dt:3;
t=[t1,t2,t3];
x1=6+0*t1;
x2=3+0*t2;
x3=6+0*t3;
x=[x1,x2,x3];
dw=2*%pi/T;//w=0:dw:N*dw-dw;
w=1:1:N;
Sx=fft(x)/(N);
figure(1,'BackgroundColor',[1,1,1]);
subplot(3,1,1),plot(t,x),title('Input data - x(n)','position',[T/2,max(x)/2]);
subplot(3,1,2),plot(w,real(Sx)),title('Real part FFT','position',[N/2,max(real(Sx))/2]);
subplot(3,1,3),plot(w,imag(Sx)),title('Imag part FFT','position',[N/2,max(imag(Sx))/2]);
Sx1=[Sx(1:k1)zeros(1,k2-k1)Sx(k2+1:N)];
Sx2=[zeros(1,p)Sx(p+1:N-p)zeros(1,p)];
Sx3=[Sx(1:N/4-p/2),zeros(1,p),Sx((N/4+p/2)+1:3*N/4-p/2),zeros(1,p),Sx(3*N/4+p/2+1:N)];
Sx4=[zeros(1,N/4-p/2),Sx((N/4-p/2)+1:N/4+p/2),zeros(1,N/2-p),Sx(3*N/4-p/2+1:3*N/4+p/2),zeros(1,N/4-p/2)];
figure(2,'BackgroundColor',[1,1,1]);
subplot(5,2,1),plot(w,abs(Sx)),title('X(k)','position',[N/2,max(abs(Sx))/2]);;
subplot(5,2,3),plot(w,abs(Sx1)),title('Modify spectral amplitudes Xm1(k)','position',[N/4,max(abs(Sx1))/2]);
subplot(5,2,5),plot(w,abs(Sx2)),title('Modify spectral amplitudes Xm2(k)','position',[N/4,max(abs(Sx2))/2]);
subplot(5,2,7),plot(w,abs(Sx3)),title('Modify spectral amplitudes Xm3(k)','position',[N/4,max(abs(Sx3))/2]);
subplot(5,2,9),plot(w,abs(Sx4)),title('Modify spectral amplitudes Xm4(k)','position',[N/4,max(abs(Sx4))/2]);
x1=N*ifft(Sx);
xm1=N*ifft(Sx1);
xm2=N*ifft(Sx2);
xm3=N*ifft(Sx3);
xm4=N*ifft(Sx4);
subplot(5,2,2),plot(t,x1),title('Output signal x1(n)','position',[T/4,max(abs(x1))/2]);
subplot(5,2,4),plot(t,real(xm1)),title('Output signal xm1(n)','position',[T/4,max(abs(xm1))/2]);
subplot(5,2,6),plot(t,real(xm2)),title('Output signal xm2(n)','position',[T/4,max(abs(xm2))/2]);
subplot(5,2,8),plot(t,real(xm3)),title('Output signal xm3(n)','position',[T/4,max(abs(xm3))/2]);
subplot(5,2,10),plot(t,real(xm4)),title('Output signal xm4(n)','position',[T/4,max(abs(xm4))/2]);
onePr=100/(N*max(abs(26),abs(-13)));
bm1=onePr*(sum(abs(x-xm1)))
bm2=onePr*(sum(abs(x-xm2)))
bm3=onePr*(sum(abs(x-xm3)))
bm4=onePr*(sum(abs(x-xm4)))
disp(N,"N=")
disp(p,"p=")
disp(bm1,"bm1=")
disp(bm2,"bm2=")
disp(bm3,"bm3=")
disp(bm4,"bm4=")
Графіки вхідної послідовності для 256 точок та її частотного спектру
/
Графіки амплітудних спектрів та відновлених сигналів (для р =N/4).
/
Значення похибок відновлених сигналів (у відсотках).
N =256
ε (xm1), %
ε (xm2), %
ε (xm3), %
ε (xm4), %
p=N/4=64
0.6965468
83.398564
1.2292352
83.399198
p=N/8=32
0.4921021
83.399177
0.8715584
83.398631
p=N/16=16
0.4222740
83.400739
0.7312376
83.398743
p=N/32=8
0.3570723
83.408648
0.6129518
83.398675
Висновок: при виконанні лабораторної роботи було отримано спектральну характеристику заданого фінітного сигналу. Це зроблено за допомогою системи SCILAB, а саме, шляхом використання вбудованої функцій f(t), яка дозволяє обчислювати швидке перетворення Фур’є N - точкової послідовності. Графік частотного складу сигналу приведено в п. 4. Крім того, проводилась частотна фільтрація сигналу, тобто відкидання різних частин спектральних коефіцієнтів, а далі - відновлення сигналу за допомогою оберненого швидког...